(function ($){ $(document).ready(function (){ setTimeout(function (){ var infowindow; var map; var markers=[]; var markerCluster; var geocoder; var autoComplete; var current_lat; var current_lng; var spinner_opts={ lines: 13 , length: 28 , width: 14 , radius: 42 , scale: 1 , corners: 1 , color: '#444' , opacity: 0.25 , rotate: 0 , direction: 1 , speed: 1 , trail: 60 , fps: 20 , zIndex: 2e9 , className: 'spinner' , top: '50%' , left: '50%' , shadow: false , hwaccel: false , position: 'absolute' }; var saved_list=[]; $(".range-radius").asRange({ tip: true, step: 1, value: parseInt(iwj_search_map.default_radius), max: parseInt(iwj_search_map.max_radius), min: parseInt(iwj_search_map.min_radius), }); function initMap(){ geocoder=new google.maps.Geocoder(); autoComplete=new google.maps.places.Autocomplete(document.getElementById('location'), { types: [] }); var lat=parseFloat(iwj_search_map.lat); var lng=parseFloat(iwj_search_map.lng); var zoom=parseFloat(iwj_search_map.zoom); map=new google.maps.Map(document.getElementById('iw_search_map'), { zoom: zoom, center: {lat: lat, lng: lng}, styles: (iwj_search_map.map_styles ? JSON.parse(iwj_search_map.map_styles):[ { "featureType": "administrative", "elementType": "labels.text.fill", "stylers": [ { "color": "#444444" } ] }, { "featureType": "landscape", "elementType": "all", "stylers": [ { "color": "#f2f2f2" } ] }, { "featureType": "poi", "elementType": "all", "stylers": [ { "visibility": "off" } ] }, { "featureType": "road", "elementType": "all", "stylers": [ { "saturation": -100 }, { "lightness": 45 } ] }, { "featureType": "road.highway", "elementType": "all", "stylers": [ { "visibility": "simplified" } ] }, { "featureType": "road.arterial", "elementType": "labels.icon", "stylers": [ { "visibility": "off" } ] }, { "featureType": "transit", "elementType": "all", "stylers": [ { "visibility": "off" } ] }, { "featureType": "water", "elementType": "all", "stylers": [ { "color": "#46bcec" }, { "visibility": "on" } ] } ]) }); infowindow=new InfoBubble({ content: ' ', shadowStyle: 1, maxWidth: 280, minWidth: 260, minHeight: 'auto', maxHeight: 900, padding: 30, backgroundColor: '#fff', borderRadius: 5, arrowSize: 25, borderWidth: 1, borderColor: 'transparent', disableAutoPan: false, hideCloseButton: false, arrowPosition: 50, backgroundClassName: 'infor-search-map', arrowStyle: 0, closeSrc: iwj_search_map.close_icon }); google.maps.event.addListener(autoComplete, 'place_changed', function (){ var place=autoComplete.getPlace(); if(place.geometry){ latLng=place.geometry.location; $('#iwj_curent_lat').val(latLng.lat()); $('#iwj_curent_lng').val(latLng.lng()); map.panTo(place.geometry.location); map.setZoom(12); }}); var result=$('.data-array').data('array'); ajaxSuccess(result, map); } $('.btn-search').click(function (){ ajaxfilter(); }); $('form.search-map').submit(function (e){ e.preventDefault(); ajaxfilter(); }); $('.hide-advance').click(function (){ that=$(this); $('form.search-map').toggle(400); that.toggleClass('active'); if(that.hasClass('active')){ that.html(iwj_search_map.show_advance_text); }else{ that.html(iwj_search_map.hide_advance_text) }}); $('.section-result').on('mouseenter', '.grid-content', function (){ var that=$(this); var id=that.data('id'); for (var i=0; i < markers.length; i++){ if(id===markers[i].ID){ markers[i].setIcon(iwj_search_map.marker_icon_hover); break; }} }); $('.section-result').on('mouseleave', '.grid-content', function (){ var that=$(this); var id=that.data('id'); for (var i=0; i < markers.length; i++){ if(id===markers[i].ID){ markers[i].setIcon(iwj_search_map.marker_icon); break; }} }); $('.iwj-search-left-side').on('click', '.iwjob-ajax-map-pagination li a', function (e){ e.preventDefault(); $('.iwjob-ajax-map-pagination li').removeClass('active'); $(this).closest('li').addClass('active'); var paged=$(this).closest('li').data('paged'); var pag=$(this).closest('.w-pagination'); pag.find('input[name="page_number"]').val(paged); ajaxfilter(paged); }); $('.btn-pinpoint').on('click', function (){ if(navigator.geolocation){ navigator.geolocation.getCurrentPosition(function (position){ var pos={ lat: position.coords.latitude, lng: position.coords.longitude }; $('#iwj_curent_lat').val(position.coords.latitude); $('#iwj_curent_lng').val(position.coords.longitude); geocoder.geocode({'location': pos}, function (results, status){ if(status==='OK'){ if(results[0]){ $('input#location').val(results[0].formatted_address); }} }); map.setCenter(pos); map.setZoom(13); }, function (){ handleLocationError(true, infoWindow, map.getCenter()); }); }else{ handleLocationError(false, infoWindow, map.getCenter()); }}); function ajaxfilter(paged){ if(!paged){ paged=1; } var spinner; var data=$('form.search-map').serialize(); var target=$('#section-filter'); current_lat=(target.find('input[name="current_lat"]').val()) ? target.find('input[name="current_lat"]').val():'' current_lng=(target.find('input[name="current_lng"]').val()) ? target.find('input[name="current_lng"]').val():''; var radius=$('.range-radius').asRange('get'); data='action=get_locations_data&_ajax_nonce=' + iwj.security + '&' + data + '¤t_lat=' + current_lat + '¤t_lng=' + current_lng + '&radius=' + radius + '&paged=' + paged; var s=document.getElementById('iw_search_map'); $.ajax({ type: 'POST', dataType: 'json', url: iwj.ajax_url, data: data, beforeSend: function (){ var spinner=new Spinner(spinner_opts).spin(s); }, success: function (resp){ $(".spinner").delay(1000).queue(function (){ $(this).remove(); }); ajaxSuccess(resp, map); }}); } function ajaxSuccess(data, map){ if(data.status==1&&typeof data.status!=='undefined'){ $('.section-result .iwajax-load').html(data.html); var result=data.data; if(typeof markerCluster!=='undefined'){ markerCluster.clearMarkers(); for (var i=0; i < markers.length; i++){ markers[i].setMap(null); markerCluster.removeMarker(markers[i]); } markers=[]; } for (var i=0; i < result.length; i++){ marker=new google.maps.Marker({ position: result[i].location, icon: iwj_search_map.marker_icon }); marker.ID=result[i].ID; open_info(marker, result[i]); marker.setMap(map); markers.push(marker); } if($('.iwj-grid').length){ $('.iwj-grid .job-item').matchHeight({ byRow: true, property: 'height', target: null, remove: false }); $('.iwj-grid .job-item').data('setmatchHeight', true); } markerCluster=new MarkerClusterer(map, markers, {imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'}); AutoCenter(); }else{ $('.section-result .iwj-jobs').html(data.html); for (var i=0; i < markers.length; i++){ markers[i].setMap(null); markerCluster.removeMarker(markers[i]); } markers=[]; $('.section-result .w-pagination').hide(); }} function open_info(marker, result){ google.maps.event.addListener(marker, 'click', (function (marker){ return function (){ var contentdata=''; var content=''; var is_saved=''; if(jQuery.inArray(result.ID, saved_list)!='-1'){ is_saved='saved'; } content +='